package com.petshop.products.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.petshop.common.annotation.Excel;
import com.petshop.common.core.domain.BaseEntity;

/**
 * 商品信息对象 pet_products
 * 
 * @author ruoyi
 * @date 2024-09-11
 */
public class PetProducts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品编号 */
    private Long productID;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品类别 */
    @Excel(name = "商品类别")
    private String categoryName;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 规格 */
    @Excel(name = "规格")
    private String specification;

    /** 成本价格 */
    @Excel(name = "成本价格")
    private BigDecimal costPrice;

    /** 销售价格 */
    @Excel(name = "销售价格")
    private BigDecimal salePrice;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long stockQuantity;

    /** 最近进货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最近进货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastStockDate;

    /** 进货价格 */
    @Excel(name = "进货价格")
    private BigDecimal purchasePrice;

    public void setProductID(Long productID) 
    {
        this.productID = productID;
    }

    public Long getProductID() 
    {
        return productID;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setCategoryName(String categoryName) 
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName() 
    {
        return categoryName;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }
    public void setSalePrice(BigDecimal salePrice) 
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice() 
    {
        return salePrice;
    }
    public void setStockQuantity(Long stockQuantity) 
    {
        this.stockQuantity = stockQuantity;
    }

    public Long getStockQuantity() 
    {
        return stockQuantity;
    }
    public void setLastStockDate(Date lastStockDate) 
    {
        this.lastStockDate = lastStockDate;
    }

    public Date getLastStockDate() 
    {
        return lastStockDate;
    }
    public void setPurchasePrice(BigDecimal purchasePrice) 
    {
        this.purchasePrice = purchasePrice;
    }

    public BigDecimal getPurchasePrice() 
    {
        return purchasePrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productID", getProductID())
            .append("productName", getProductName())
            .append("categoryName", getCategoryName())
            .append("unit", getUnit())
            .append("specification", getSpecification())
            .append("costPrice", getCostPrice())
            .append("salePrice", getSalePrice())
            .append("stockQuantity", getStockQuantity())
            .append("lastStockDate", getLastStockDate())
            .append("purchasePrice", getPurchasePrice())
            .toString();
    }
}
